home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_1
/
todo11
< prev
next >
Wrap
Text File
|
1995-03-31
|
34KB
|
624 lines
Article 5359 of comp.sys.handhelds:
Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!news.cs.indiana.edu!att!linac!uwm.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!hpfcso!hpfcbig!diamant
From: diamant@hpfcbig.SDE.HP.COM (John Diamant)
Newsgroups: comp.sys.handhelds
Subject: Re: Todo program
Message-ID: <1010009@hpfcbig.SDE.HP.COM>
Date: 27 Mar 91 05:26:28 GMT
References: <1991Mar12.144908.1088@truevision.com>
Organization: HP SESD, Fort Collins, CO
Lines: 610
Program Id: TODO
Description: To-Do Reminder List
Programmer: David Cook - Cookware
Modified: John Diamant (modifications version 1.0)
This program is a generic list manager for the 48SX calculator. It
works not only on todo lists, but any other type of list you care to
manage in the calculator (limited by memory of the calculator).
I'm not going to repeat most of the general announcements from the original
posting as I'm including it at the bottom of this message. Please note in
particular the shareware notice in David's original comments.
Installation instructions are the same as the original (see David's note
at the bottom if you don't know how to install an ASC format program).
If you can't download via ASC and need a cleartext posting (translate
code 3), let me know (email would be fine) and I'll post that as well.
However, to avoid further delay, I'm posting this now in ASC format.
If you use this new TODO version and like it, I'd like to hear from
you (especially if you're using the new features I added to it). If anybody
knows David Cook's email address, I'd like to get in touch with him
to merge my changes into his master version.
The next response to this note will be a question I have regarding
memory efficiency and PICT. If I find out how to improve the memory
efficiency, I'll probably post a modified version, so you'll have to decide
whether you want to wait or download this version. However, the lists you
build with this version should work just fine for a more memory efficient
version and I may be able to provide a simple patch (by the way, the
memory usage problem is not something I introduced with my changes but my
increasing the width of the PICT made it more likely to occur).
To run the program, simply press the RUN button in the variables menu in
the TODO directory (I use the following entry in my CST menu to start up the
program: { "LIST" << TODO RUN >> })
By the way, I have truncated the grocery list substantially from the original
posting due to it's taking too much space. If you want the full one, download
the original posting.
The changes from David's version 1.0 are as follows:
Made the OFF key turn the calculator off while in TODO (instead of BLUE
SHIFT [EXIT])
Made the [EDIT] menu key return the current text as the default value for
the new text (which also makes it easy to cancel an edit simply by
pressing ENTER without making any changes).
Made the program font-size independent (with a table for the font sizes for
the 3 builtin available fonts) and provided a binding (+ and - keys)
for dynamically changing the size of the font while the program is
running. I did this because the small font is good when you want
lots of data, but is hard on the eyes since it's all uppercase, so I
want different fonts at different times (depends on how wide the
data is I'm viewing.
Implemented horizontal scrolling (by character, 10 characters at a time,
and beginning and end of line). I also increased the width of the
virtual screen (adjustable with a local variable in the TODO
directory).
LIST mode (choose which list to make active) has been extended to support
USE, NEW, and DEL menu buttons rather than requiring obscure
keystrokes for these functions.
Made LIST mode more robust (added beeps for incorrect keystrokes).
Deleting a list asks for confirmation (default is no).
Changed the keybinding for deleting an item from a list from DEL to
BLUE SHIFT DEL to avoid risk of accidental deletion.
The ATTN key is trapped via IFERR and appropriate cleanup is done
(note that I do not rely on Bill Wickes special version of IFERR --
the builtin was sufficient for my purpose -- to make sure the
program cleaned up if I accidentally used ATTN instead of EXIT)
Disables clock display during program execution and restores initial
state of clock (displayed or not) on exit (even with ATTN key).
Made the function which create new lists do some error checking on legal
names (using "V" mode for INPUT).
Removed reordering of vars on exit to put RUN at beginning since I
run the program from CST and I don't want to pay the run-time cost
every time I exit to reorder the VARS menu.
> I'll post either when I get all the changes finished or I expect it to be
> awhile before I get the rest done (I'll probably post in a couple of days).
Sorry it was more than a couple of days, but I think you'll be glad I waited
as I did add some functionality almost each day I delayed posting.
How To Use TODO (modified from David's original instructions)
---------------
When the program begins to run, it will display six menu items assigned
to the menu keys. These six items are:
LIST - Catalog of all lists OR create a new list OR delete a list
ADD - Adds a new item to the end of the list OR inserts a blank item
EDIT - Edits the text of an existing item
SORT - Sort any particular list
MARK - Marks an item OR Unmarks an item OR Unmarks all marked items
EXIT - Exits the program and returns you to the HOME directory
The following lists the available KEYSTROKES from the main menu level:
UP ARROW - Scroll the current list towards the top - one item
ORANGE SHIFT UP ARROW - Move the current list toward the top - one page
BLUE SHIFT UP ARROW - Move the current list to the top
DOWN ARROW - Scroll the current list toward the bottom - one item
ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page
BLUE SHIFT DOWN ARROW - Move the current list to the bottom
LEFT ARROW - scroll the current list towards the left - one char
ORANGE SHIFT LEFT ARROW - scroll the current list towards the left - 10 chars
BLUE SHIFT LEFT ARROW - scroll the current list to the left edge
RIGHT ARROW - scroll the current list towards the right - one char
ORANGE SHIFT RIGHT ARROW- scroll the current list towards the right - 10 chars
BLUE SHIFT RIGHT ARROW - scroll the current list to the right edge
BLUE SHIFT DEL - Deletes the current item
ORANGE SHIFT DEL (purge)- Deletes ALL marked items
LIST (menu key) - Get a catalog of all lists
BLUE SHIFT LIST - Enter the name for a brand new list (also available
in LIST environment as function key)
ADD (menu key) - Add an item to the end of the current list
BLUE SHIFT ADD - Insert a blank line ABOVE the current item
EDIT (menu key) - Edit the text of the current line
SORT - Sort the current list in alphabetical order
MARK (menu key) - Mark OR Unmark the current item
BLUE SHIFT MARK - Unmark ALL marked items
ORANGE SHIFT MARK - Same as MARK without the Startrek sound
EXIT - Stop the program and return to the HOME directory
BLUE SHIFT ON (OFF) - Turn the calculate off (turning it on returns to
TODO automatically with no delay)
+ - Increase font to next larger size
- - Decrease font to next smaller size
KEYSTROKES available from LIST screen (entered via LIST menu key):
UP ARROW - Scroll the current list towards the top - one item
DOWN ARROW - Scroll the current list toward the bottom - one item
USE (menu key) - make top list on screen currently viewed list
ENTER - same as USE
NEW (menu key) - Create new list (same as BLUE SHIFT LIST above)
DEL (menu key) - Delete top list on screen (will ask for confirmation)
+ - Increase font to next larger size
- - Decrease font to next smaller size
Note the setting of PW below to change the width of your virtual screen.
The one I posted is set to 200 but you might prefer 262 (2 screens)if
you have sufficient memory.
New Internals (see the original posting for other internals):
Here is a brief listing of what the other routines do:
PW - page width. Number of pixels of width to make the PICT display.
The screen is 131 wide, so use no less than 131, but larger than
131 is required to get any horizontal scrolling.
EXIT - function used to clean up and exit (called from a few places)
CHFONT - takes delta for font number as argument and sets up CHARH,
CHARW, FONT, and H for selected font. Values of 1, -1, and 0
are useful (increase font size by one, decrease font size by one,
and set up font attributes for initialization respectively)
FNTATTR - list containing font attributes (width and height in pixels) for
the 3 builtin fonts. Note that the list is stored as a string
and converted on the fly to avoid it being seen by the TODO program
as a user-specified list.
CHARH - character height in pixels of currently selected font
CHARW - character width in pixels of currently selected font
H - number of items which can be displayed on one screen in
current font
FONT - number of currently selected font (used in ->GROB call)
Only PW should be changed by a user of the program. The rest are only
documented if you want to change the program. They are managed internally.
John Diamant
Software Engineering Systems Division
Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com
Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant
This code does not come with any warranty express or implied. It's
suitability for any purpose is not the responsibility of the authors.
This response does not represent the official position of, or statement
by, the Hewlett-Packard Company. The above data is provided for
informational purposes only. Note that I'm just a 48SX user like you --
I just happen to work for HP. I do not work in the division that makes
these calculators.
-------- ASC encoding of new todo program (original TODO 1.0 docs follow)
%%HP: T(3)A(D)F(.);
"69A20FF75462000000402523442340D9D20E16329C2A2DBBF1301329B1C13392
03000000000000040EEDA133920300000000000005076BA19B1C133920899000
0000000020EEDA14C5A1C423293632B213019000504454C4454450D9D20E1632
3CE2284E2010359C2A2279E1AFE22D9D2047A20C2A20900000202B2130456328
4E2040441445149763204B02DCC029C2A24563284E20103597632DCC029C2A24
563284E20107597632DCC02B21305BF22D9D2047A20B21309C2A284E2010350A
132D6E2010E63CE22D6E2010E684E201075D9AE1AFE22D9D2084E20404414451
4D6E2010E66C7D19C2A2387C176BA1B21305DF22C42324563284E20404414451
49763204B02DCC0284E2010359C2A290DA14563284E20103597632DCC029C2A2
4563284E20107597632DCC02B21305DF2284E2050D414B4454493632B21305D1
0050759405454450D9D20E163247A20B21309C2A284E2010350A132D6E2010E6
3CE2284E204044144514D6E2010E66C7D19C2A29C2A2C58C1C2A207000002279
E1AFE22D9D2084E204044144514D6E2010E66C7D19C2A2387C176BA1B21305DF
22C42323CE2278BF18B9C19C2A2EBBE1AFE22D9D208DBF147A20C2A209000002
02B2130B21305DF224563284E2040441445149763204B02DCC0284E204044144
5148B9C14563284E20103597632DCC029C2A24563284E20107597632DCC0284E
2050D414B4454493632B2130691005055E4D4454450D9D20E163284E20404414
45149C2A284E2010350A132D6E2010E678BF1D6E2010E66C7D19C2A2C2A20700
0002AE8C1D6E2010E6DBBF19C2A2387C1AE8C1D6E2010E684E2040D4F46464C4
2324563284E2040441445149763204B02DCC0284E2050355454454493632B213
04E00050D41425454450D9D20E163284E20404414451484E2010756C7D178BF1
9C2A29C2A2C58C13CE22C2A207000002279E1AFE22D9D209C2A2C2A207000038
84E20107584E2030D4F4E4B21305BF22D9D209C2A2C2A20700000284E2010758
4E2040D4F46464B21305DF22AE8C184E204044144514DBBF184E201075DBBF19
C2A2387C1AE8C14563284E2040441445149763204B02DCC0284E205035545445
4493632B21306410050144444454450D9D20E1632858A184E204044144514C2A
20900000202C2A2075000459707560296E60247865602E656874702964756D6A
08496470254E445542502778656E60246F6E65647A2084E2010C8B2130AC4227
6BA19C2A2387C176BA14563284E2040441445149763204B02DCC0284E2010359
C2A276BA14563284E20103597632DCC0284E2050D414B4454493632B2130B210
050D414B4454450D9D20E1632606E1C2A207D000020202020202020245F6D244
F6A0020205562737F6E616C6022556D696E6465627A0A0E2E2E275169647C202
245796C64696E67602C4963747A0A0655627A30213E20302D2D2024416679646
0234F6F6B6A0D6F646A30213E2030202A4F686E602449616D616E647A09C2A24
85A184E20200575B969184E20103533920100000000000011076BA184E205034
84142584EEDA1B9691614E19C2A284E2010350A132D6E2010E6E4A2051000000
0000000000000D6E2010E684E20503484142584EEDA1B9691ED2A2387C184E20
4044144514D6E2010E66C7D184E204064F4E445DA5E1AE8C1C4232858A1606E1
634E1DCC0284E2050355454454493632B21304220050355454454450D9D20E16
3284E20107584E20503484142584EEDA1B969184E2010C4DBBF1ED2A2387C10F
2E193632B21303600050341445454450D9D20E16329C2A24563284E201075976
32DCC02D13A2FA1A178BF18B9C13CE2278BF14B2A2279E1AFE22D9D2084E2050
E4547545448DBF18DBF1B21305BF22D9D209C2A2DBBF10A132D6E2010E678BF1
D6E2010E66C7D1B0BC19C2A2387C1D6E2010E6DBBF1AE8C1C423284E204035F4
25454563284E20703414454554D40597632DCC024563284E20703414454554D4
05976324563284E20404414451497632DCC0284E2040441445148B9C14563284
E20103597632DCC024B2A24563284E20104597632DCC024B2A26911247A20C2A
20B0000553554C2A20B0000E45475C2A20B00004454C4B2130D511284E2050D4
14B44544330328BA2084E2010454B2A2279E1B2130D5032D9D20683A2F17A1D8
732D9D2078BF1339201000000000001210279E18A732D9D203F2A24563284E20
104597632DCC0284E2050E454754544B21305DF2278BF1339201000000000001
580279E18A732D9D20683A284E2060348464F4E44584E2050D414B44544B2130
5DF2278BF1339201000000000001590279E18A732D9D209C2A284E2060348464
F4E44584E2050D414B44544B21305DF2278BF1339201000000000001530279E1
8A732D9D203CE228BA2084E20107584E201035EBBE1B2130AFE22D9D2084E201
0759C2A276BA14563284E20107597632DCC0284E20503554544544B21305BF22
D9D203392010000000000000503392099900000000000204C5A1B21305DF22B2
1305DF2278BF1339201000000000001520279E18A732D9D203CE228BA2084E20
10759C2A2D5CE1B2130AFE22D9D2084E2010759C2A290DA14563284E20107597
632DCC0284E20503554544544B21305BF22D9D20339201000000000000050339
2099900000000000204C5A1B21305DF22B21305DF2278BF13392010000000000
01310279E18A732D9D2084E20404414451484E2010756C7D178BF1C2A2071000
4456C6564756A00202DBBF176BA147A20C2A2070000E484E2010C8B2130AC422
3CE22C2A207000095279E1AFE22D9D20B7FC1EFE0284E20504454C44544D13A2
FA1A18B9C13CE229C2A2279E1AFE22D9D2084E2050E454754544ED2A24563284
E20104597632DCC02B21305DF22B21305BF22D9D2084E205035545445448DBF1
B21305DF22B21305DF2278BF178BF1339201000000000001110279E1DBBF1339
201000000000001150279E1908E18A732D9D2084E20404414451484E2010756C
7D1B7FC14563284E20404414451497632DCC029C2A24563284E20107597632DC
C0284E2040441445148B9C14563284E20103597632DCC029C2A24563284E2010
4597632DCC02B21305DF22339201000000000000050339209990000000000020
4C5A1B21305DF228DBF1B2130496324563284E20104597632EFE024563284E20
703414454554D40597632EFE02B21305DF224B2A26911247A20C2A20D0000C49
43545C2A20B0000144444C2A20D000054449445C2A20D000035F42545C2A20D0
000D41425B4C2A20D000054859445B2130D511284E2050D414B4454493632B21
300B80050E45475454450D9D20E1632858A1C2A20150004597075602E6567702
C696374702E616D656A08496470254E445542502778656E60246F6E65647A208
4E20106584E2010C8B2130AC422C2A20900000202DBBF176BA1C2A20F0000E2C
494354576BA178BF19C2A2387C1DBBF1B7FC178BF1E0CF1DBBF1DCC024563284
E20404414451497632DCC0284E2040441445148B9C14563284E20103597632DC
C029C2A24563284E20107597632DCC0284E2050D414B4454493632B213047100
50544494454450D9D20E1632858A1C2A20740005446964796E67602D4F64656A
08496470254E445542502778656E60246F6E656A084E20404414451484E20107
56C7D13F2A292CF18B9C1C58C184E2010C8ED2A2387C1AC422C2A20900000202
DBBF176BA19C2A2387C184E204044144514DBBF184E201075DBBF1AE8C145632
84E2040441445149763204B02DCC0284E2050D414B4454493632B21309310050
94E435454450D9D20E16323CE2284E2010759C2A2D5CE1AFE22D9D2084E20404
41445149C2A284E2010759C2A290DA1C58C147A20C2A20900000202B213076BA
184E20404414451484E20107584E201035C58C176BA1B21305BF22D9D2047A20
C2A20900000202B213084E20404414451476BA1B21305DF224563284E2040441
445149763204B02DCC0284E2010359C2A276BA14563284E20103597632DCC028
4E2050D414B4454493632B2130C510040D4F4646440D9D20E163284E20503484
142584EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C1634E1DB
BF1C2A20700000284E204064F4E445DA5E1AE8C193632B21303900030D4F4E43
0D9D20E163284E20503484142584EEDA1B9691E4A20510000000000000000000
DBBF1ED2A2387C1634E1DBBF1C2A20700003884E204064F4E445DA5E1AE8C193
632B21301900040441445144084E20C07425F434542595E2C4943545B2000403
5F4254540D9D20E1632606E1C2A2035000A005C6561637560277169647E2E2E2
A0A002020235F6274796E6760247865602C6963747A0A0A09C2A2485A178BF18
B9C147A20B21304B2A24B2A21C432D6E201044D6E201035D6E201045D6E20103
4D6E201064E16323CE22D6E2010359C2A2D5CE1AFE22D9D20D6E2010449C2A26
C7D19C2A2387C145632D6E20104597632DCC029C2A245632D6E20103497632DC
C02ED2A2D6E2010350A132D6E2010E6D6E201044D6E2010E66C7D14B2A245632
D6E20106497632DCC029C2A2D6E2010340A132D6E2010D678BF1D6E201045D6E
2010D66C7D13CE22EBBE1D6E2010644B2A2279E1387E1AFE22D9D20D6E2010D6
45632D6E20106497632DCC02D6E20103445632D6E2010D697632DCC02B21305D
F22C42329C2A2387C13CE22D6E2010644B2A2279E1AFE22D9D20D6E201045DBB
F176BA1B21305BF22D9D203CE22D6E2010649C2A2279E1AFE22D9D20D6E20104
576BA1B21305BF22D9D20D6E2010459C2A2D6E2010649C2A290DA1C58C1DBBF1
76BA1D6E201045D6E201064D6E201034C58C176BA1B21305DF22B21305DF2245
632D6E20104597632DCC02D6E2010349C2A276BA145632D6E20103497632DCC0
2C4232D6E201045B21305BF22D6E2010445DF22EF53293632B21309B30020057
520339202000000000000020D10007084353425F4C4C470D9D20E163278BF184
E2010C4BB69176BA1C9432D9D20E16321C432D6E2010E6E16323CE228BA20D6E
2010E684E2020057533920200000000000131090DA1CFCE1B21308BA20D6E201
0E64B2A2B9DE1B2130387E1AFE22D9D2084E2010C4BB69176BA1B96914563284
E2010C497632DCC0284E20503554544544B21305BF22D9D208DBF13392010000
000000000503392099900000000000204C5A1B21305DF22EF53293632B2130EB
3A193632B2130071004064F4E445403392000000000000000201200050348414
2575503392000000000000000603200050348414258450339200000000000000
080320007064E4451445452570C2A20D3000B702B70243027302D702B7026302
8302D702B7026302130302D702D74500060348464F4E44560D9D20E16321C432
D6E201029E16323CE228BA2084E204064F4E445D6E20102976BA19C2A2B9DE1B
21308BA2084E204064F4E445D6E20102976BA13F2A2CFCE1B2130387E1AFE22D
9D2084E207064E44514454525B7FC184E204064F4E445D6E20102976BA178BF1
4563284E204064F4E44597632DCC026C7D1B7FC18DBF14563284E20503484142
58497632DCC024563284E2050348414257597632DCC023392010000000000004
6084E2050348414258450FA19DBB19C2A290DA14563284E20108497632DCC02B
21305BF22D9D203392010000000000000503392099900000000000204C5A1B21
305DF22EF53293632B21305F100405485944540D9D20E16323CE2284E202034C
49C2A2279E1AFE22D9D20339201000000000000049472C1B21305DF228DBF14B
2A269112858A1606E147A2084E20103584E20107584E2010C484E20108484E20
2034C4634E1B2130EFE02041A1303A193632B2130EC000C07425F434542595E2
C4943545C047A20C2A20F10000202642555944535E2C4943545C2A2091000020
20202140707C65637C2A20B10000202020224562727965637C2A201200002020
20274271607566627579647C2A209100002020202742716075637C2A20510000
2020202B4967796C2A209100002020202C456D6F6E637C2A207100002020202C
496D65637C2A209100002020202D456C6F6E637C2A20B100002020202F42716E
6765637C2A20B10000202020205561636865637C2A2071000020202020556162
737C2A20F1000020202020596E656160707C656C2A2072000020265547454451
424C45435E2C4943545C2A20B20000202020214C46414C4641402350525F4554
535C2A201200002020202142545943484F4B45435C2A20B10000202020214651
4341444F4C2A207100002020202245414E435C2A205200002020202245414E40
2350525F4554535C2A20D1000020202022425F4343455C494C2A20B200002020
202242555353554C402350525F4554535C2A20B1000020202023414242414745
4C2A2012000020202023414C49464C4F4755425C2A20B1000020202023414252
5F44535C2A2091000020202023454C4542595C2A20D10000202020254747405C
414E445C2A209100002020202741627C69636C2A205200002020202845425243
5C2026425543584C2A20B100002020202C4544545553454C2A20F10000202020
2D455358425F4F4D435C2A207100002020202F4E696F6E6C2A20510000202020
205561637C2A20B10000202020205540505542535C2A20D10000202020205F64
71647F65637C2A20B100002020202350594E4943484C2A20510000202020245F
46455C2A20910000202020245F4D41445F4C2A20B100002020202A555343494E
494B2130A1500302555E430D9D20E1632339201000000000000049313C145632
84E202034C497632DCC023392010000000000000495D2C14B2A284E206034846
4F4E445E4A205100000000000000000004563284E2010C497632DCC02FD332D9
D2084E2040441445149C2A26C7D1B2130F1732D9D2084E205034144545448DBF
1B21305DF228DBF19C2A24563284E20107597632DCC0284E2040441445148B9C
14563284E20103597632DCC0247A20C2A20D0000C4943545C2A20B0000144444
C2A20D000054449445C2A20D000035F42545C2A20D0000D41425B4C2A20D0000
54859445B2130D511284E2050D414B44544D63A1FD332D9D20330328BA204B2A
24B2A2279E1B2130D5032D9D20683A2F17A1D8732D9D2078BF13392010000000
00001590279E18A732D9D209C2A284E2060348464F4E44584E2050D414B44544
B21305DF2278BF1339201000000000001580279E18A732D9D20683A284E20603
48464F4E44584E2050D414B44544B21305DF2278BF1339201000000000001210
279E18A73284E205014444445445DF2278BF1339201000000000001430279E18
A732D9D2084E20503484142575599A184E207084353425F4C4C4B21305DF2278
BF1339201000000000001630279E18A732D9D2084E2050348414257584E20708
4353425F4C4C4B21305DF2278BF1339201000000000003630279E18A732D9D20
84E2020057533920200000000000131090DA184E2010C4BB69190DA184E20708
4353425F4C4C4B21305DF2278BF1339201000000000002630279E18A732D9D20
84E20503484142575339201000000000000010EEDA184E207084353425F4C4C4
B21305DF2278BF1339201000000000003430279E18A732D9D2084E2010C4BB69
1599A184E207084353425F4C4C4B21305DF2278BF13392010000000000024302
79E18A732D9D2084E20503484142575339201000000000000019EEDA184E2070
84353425F4C4C4B21305DF2278BF1339201000000000001110279E18A73284E2
05034144545445DF2278BF1339201000000000003110279E18A73284E2050E45
47545445DF2278BF1339201000000000001530279E18A732D9D203CE228BA208
4E20107584E201035EBBE1B2130AFE22D9D2084E2010759C2A276BA14563284E
20107597632DCC0284E20503554544544B21305BF22D9D203392010000000000
000503392099900000000000204C5A1B21305DF22B21305DF2278BF133920100
0000000001520279E18A732D9D203CE228BA2084E2010759C2A2D5CE1B2130AF
E22D9D2084E2010759C2A290DA14563284E20107597632DCC0284E2050355454
4544B21305BF22D9D203392010000000000000503392099900000000000204C5
A1B21305DF22B21305DF2278BF1339201000000000003530279E18A732D9D208
4E2010354563284E20107597632DCC0284E20503554544544B21305DF2278BF1
339201000000000003520279E18A732D9D209C2A24563284E20107597632DCC0
284E20503554544544B21305DF2278BF1339201000000000001510279E18A732
D9D20803A284E20402523442384E2050D414254544B21305DF2278BF13392010
00000000002510279E18A73284E2050D4142545445DF2278BF13392010000000
00003510279E18A73284E205055E4D445445DF2278BF13392010000000000014
10279E18A732D9D2084E20404414451484E204035F425454563284E204044144
5149763204B02DCC0284E2050D414B44544B21305DF2278BF133920100000000
0003450279E18A73284E20504454C445445DF2278BF133920100000000000245
0279E18A73284E205075940545445DF2278BF1339201000000000001310279E1
8A73284E205054449445445DF2278BF1339201000000000002520279E18A732D
9D203CE2284E20107584E201084D5CE1AFE22D9D2084E20107584E20108490DA
1B21305BF229C2A25DF224563284E20107597632DCC0284E20503554544544B2
1305DF2278BF1339201000000000002530279E18A732D9D203CE2284E2010358
4E20108490DA184E201075D5CE1AFE22D9D2084E20107584E20108476BA1B213
05BF2284E2010355DF224563284E20107597632DCC0284E20503554544544B21
305DF2278BF1339201000000000003210279E18A73284E205094E43545445DF2
278BF1339201000000000003190279E18A732E13A15DF2278BF1339201000000
000001610279E18A73284E2040548594455DF223392010000000000000503392
099900000000000204C5A1B21305DF228DBF1B213049632B2130F1732D9D208D
BF13CE22883A1BB6914B2A2279E1AFE22D9D209C2A284E204054859445B21305
BF22D9D20606E13A3A19C2A2485A14B2A2F17A18DBF19C2A284E204054859445
B21305DF22B21305DF2293632B2130B463"
---------------------- original (unmodified) announcement from David --------
Program Id: TODO
Description: To-Do Reminder List
Programmer: David Cook - Cookware
Welcome to Version 1.0 of TODO, a To-Do list reminder system. This program
was written for a friend of mine who refused to buy a HP48SX unless it had
a TODO program, scheduler (with calendar) and Rolodex (he would rather have
a HP48SX instead of a Wizard etc.., but needed that functionality). Since I
already have a rolodex and calendar program for my 48SX I only needed to
provide this function.
Disclaimer:
I have had my 48SX only about 3 months, so I am sure that this program can
be written better, smaller and faster. I would have used SYSEVAL statements,
but was unsure about compatibility with other revisions (can anyone out there
answer this question?).
Shareware Notice:
Feel free to use this program and redistribute it. I ask that if you
redistribute the program, please keep it named TODO, and please keep the
title screen intact. If you make significant changes, please add you name
to the title screen - but keep my name as well. If you find this program
invaluable, a $5 donation would be appreciated. Send any money or comments
to: David Cook, RR #1 Box 351, Whitestown Indiana 46075 - Thank you!
Installing And Running TODO:
The program can be found at the bottom of this post. It is in ->ASC format
and you will need ASC-> to unscramble it. ASC-> is openly available on this
forum as well as the HP BBS. (The ASC routines were written by Bill Wickes.)
I'm sure that if you don't have them, an open letter to the NET would produce
them rather quickly!
(1) Cut the code at the bottom of the document, AFTER the CUT HERE line.
Remove the final CUT HERE line at the bottom.
(2) Send this file to your HP48SX, via the Serial Cable, into the file 'TODO'
(3) Hit the TODO button (eg., place the contents of TODO on the command line)
(4) Execute ASC-> (which you already should have loaded, or load it now)
(5) Store the result back to 'TODO' - it will become a directory
Running...
(6) Simply enter the TODO directory and hit the RUN button which will be
the very first button you see.
From here on out, simply follow (6) to run it.
Features:
* Unlimited number of lists - up to the memory of your machine
* Unlimited size for the lists - up to the memory of your machine
* Ability to scroll the lists by the line or page
* Ability to jump to the beginning or end of any list
* Ability to change lists via a catalog
* Ability to create new lists or delete old lists
* Ability to MARK and UNMARK items on the list
* Ability to UNMARK ALL items on the list
* Ability to delete any single item on the list
* Ability to delete ALL MARKED items on the list
* Ability to insert a new item anywhere in the list
* Ability to sort any list of information
GROCERY LIST
I have created a large (though somewhat incomplete) grocery lists, as a
default. It is large so it does take a bit of time to compile the GROB. Use
this list as an example list, and delete it if you need the memory or find it
unusable.
How To Use TODO
---------------
When the program begins to run, it will display six menu items assigned
to the menu keys. These six items are:
LIST - Catalog of all lists OR create a new list OR delete a list
ADD - Adds a new item to the end of the list OR inserts a blank item
EDIT - Edits the text of an existing item
SORT - Sort any particular list
MARK - Marks an item OR Unmarks an item OR Unmarks all marked items
EXIT - Exits the program and returns you to the HOME directory
The following lists the available KEYSTROKES from the main menu level:
UP ARROW - Scroll the current list towards the top - one item
ORANGE SHIFT UP ARROW - Move the current list toward the top - one page
BLUE SHIFT UP ARROW - Move the current list to the top
DOWN ARROW - Scroll the current list toward the bottom - one item
ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page
BLUE SHIFT DOWN ARROW - Move the current list to the bottom
DEL (keyboard key) - Deletes the current item
ORANGE SHIFT DEL (purge)- Deletes ALL marked items
LIST (menu key) - Get a catalog of all lists
BLUE SHIFT LIST - Enter the name for a brand new list
ADD (menu key) - Add an item to the end of the current list
BLUE SHIFT ADD - Insert a blank line ABOVE the current item
EDIT (menu key) - Edit the text of the current line
SORT - Sort the current list in alphabetical order
MARK (menu key) - Mark OR Unmark the current item
BLUE SHIFT MARK - Unmark ALL marked items
ORANGE SHIFT MARK - Same as MARK without the Startrek sound
EXIT - Stop the program and return to the HOME directory
BLUE SHIFT EXIT - Turn the calculate off (turning it on returns to
TODO automatically with no delay)
Here are some general comments about a couple of the commands...
CURRENT ITEM
The current item (eg., the item you are going to MARK, UNMARK, DELETE etc..)
is the one at the TOP OF THE DISPLAY. To move an item into the current item
area, simply scroll (UP/DOWN arrow) until it is the top item on the list. This
goes for catalog lists (LIST) as well.
LIST
When in LIST, all current lists in the current directory will be displayed, in
alphabetical order (eg., sorted). WHILE you are in this mode, UP and DOWN
arrow work (but PAGE UP and PAGE DOWN and GO TO TOP and GO TO END do not work).
The DEL keyboard key will DELETE a list completely from memory.
MARK
The MARK command allows you to place a marker next to items which you have
completed (eg., check 'em off). Hit MARK the first time to place the marker,
Hit MARK a second time (on the same item) to unmark. When you MARK or UNMARK
a 'startrek' type beep will occur to signify the mark. If you do not wish
to hear the sound, hit ORANGE SHIFT MARK instead. BLUE SHIFT MARK will UNMARK
ALL currently marked entries WITHOUT deleting them from the list.
DEL
The normal 48SX DEL key serves to DELETE the current item, when hit under
the normal menu (when hit while in LIST, it deletes entire lists). If you
hit ORANGE SHIFT DEL, the program will delete ALL marked entries - useful
for purging information you have already done.
STARTING UP
If you start the program, and the current list is not found by the program
(eg., you deleted it from the operating system level), the LIST command will
automatically be run by the program. If the LIST command does not see any
lists in memory, the BLUE SHIFT LIST command will automatically be run, allowing
you to create a new list.
OTHER KEYBOARD KEYS
If you hit an unknown key (eg., not known to the program), the program will
issue a very low tone. Try again!
Internals:
This posting is already too long to give you full details of the program.
Feel free to rip it apart and improve it - just post it back! One routine
you will probably want to add to your 'favorites' list is the routine named
R2D2. This, standalone, routine takes a single number from the stack and
makes your HP48SX sound like a device on Star Trek. The best values, for
the most convincing sound are the values 4 or 5. Simply type
5 R2D2
for a demo. The number indicates the length of time (eg., number of chirps)
for the speaker to make).
Another routine you will find useful is the SORT routine. To use SORT
independently of the program, simply place a LIST of STRINGS on Level 1 and
run SORT. This is NOT a bubble sort, but an insertion sort, and it only takes
as long to sort the data as it does to read the data one time (plus the linear
count to find the place to put the data).
Other items you will find useful, if reverse engineering the routines... The
variable 'DATA' contains the name of the current to-do list database. The
system creates TEMPORARY variables (only will be seen if you abort the program
while it is running). 'W' contains a number which signifies which item is
the current iten (1 - S). 'S' contains the total number of items in the list.
If you abort during a catalog, you will see CATTEMP which contains a list of
all you to-do lists. 'W', 'S' and 'CATTEMP' are all deleted and rebuilt
by the program.
Here is a brief listing of what the other routines do:
RUN - Runs the TODO program
SORT - Sorts a LIST of STRINGS in level 1
MON - High speed GROB editor, used to turn a Mark ON
MOFF - High speed GROB editor, used to turn a Mark OFF
INSTD - INSerts a blank item into the ToDo list above the current item
EDITD - EDIts the current item of the current ToDo list
NEWTD - Creates a NEW ToDo list
CATTD - Handles the LIST command catalog of lists
SEETD - Displays the current list (does NOT build it)
MAKTD - Makes the GROB associated with the current list
ADDTD - Adds a new item to the END of the current list
MARTD - Handles Marking and Unmarking of the current item
UNMTD - Unmarks ALL marked items in the list
WIPTD - Deletes ALL marked items in the list
DELTD - Deletes the current item in the list
R2D2 - Takes a repeat value from level 1 and issues StarTrek sounds
AGAIN... these routines should only be used for editing and changing the
program. Use the RUN routine to execute the program (just hit RUN) and the
program will automatically issues these routines for you in responce to the
menu keys you hit (as described above). I provided the details above only
for those who want to see how it runs!
ENJOY!!!!!